package com.gaogzhen.mappers;

import com.gaogzhen.domain.Account;
import com.gaogzhen.vo.AccountVo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * @author Administrator
 * @date 2022-12-12 16:52
 */
@Mapper(componentModel = "spring")
public interface AccountVoMapper {
    /**
     * 对象实例
     */

    AccountVoMapper INSTANCE = Mappers.getMapper(AccountVoMapper.class);

    /**
     * entity转换为dto
     * @param source    源
     * @return          相应的dto对象
     */
    AccountVo convert2Dto(Account source);

    /**
     * entity集合转换为dto集合
     * @param source    源
     * @return          相应的dto对象集合
     */
    List<AccountVo> convert2Dto(List<Account> source);

    /**
     * dto转换为entity
     * @param source    源
     * @return          相应的entity对象
     */
    Account convert2Entity(AccountVo source);


    /**
     * dto集合转换为entity集合
     * @param source    源
     * @return          相应的entity对象集合
     */
    List<Account> convert2Entity(List<AccountVo> source);
}
